import { request } from '../../request'

/**
 * 获取粉丝分页列表
 * @param params - 查询参数
 */
export function fetchWxUserList(params?: ApiModels.weixin.WxUserQueryType) {
  return request.get<ApiModels.PageList<ApiModels.weixin.WxUser>>('/weixin/wxUsers/list', { params })
}

/**
 * 获取粉丝详情
 * @param openid - 粉丝openid
 */
export function fetchWxUserDetail(openid: string) {
  return request.get<ApiModels.weixin.WxUser>(`/weixin/wxUsers/get/${openid}`)
}

/**
 * 新增粉丝
 * @param data - 粉丝模型
 */
export function createWxUser(data: ApiModels.weixin.WxUser) {
  return request.post<ApiModels.weixin.WxUser>('/weixin/wxUsers/create', data)
}

/**
 * 更新粉丝
 * @param data - 粉丝模型
 */
export function updateWxUser(data: ApiModels.weixin.WxUser) {
  return request.put<ApiModels.weixin.WxUser>('/weixin/wxUsers/update', data)
}

/**
 * 删除粉丝
 * @param openid - 粉丝id
 */
export function deleteWxUser(openid: string) {
  return request.delete<ApiModels.weixin.WxUser>(`/weixin/wxUsers/delete/${openid}`)
}

/**
 * 同步粉丝
 * @param nextOpenid - 下一个微信粉丝openid
 */
export function syncWxUser(nextOpenid: string) {
  return request.post<{
    /** 总记录数 */
    totalCount: number
    /** 同步记录数 */
    count: number
  }>(`/weixin/wxUsers/sync?nextOpenid=${nextOpenid}`)
}
